\newpage
\centerline{\large{前 \hspace{2em} 言}}

2018年学院成立了信息安全专业并开始招生，2020年春季学期开始上“现代密码学”一课，在备课中形成此讲义，内容是按照自己对课程所讲内容的理解，对于本科生应该让其掌握什么，这两个基础上整理汇编而来，希望更加符合本科生的特点，能够使学生能够更有收获，并把此讲义共享出来，以供需要的人参考。\par
本科密码学重点应该在使学生了解各类密码算法和协议设计的基本思想，能够看懂设计好的密码算法，并能够编程进行实现，同时了解常用的几种密码分析方法。\par
在编写此讲义的过程中，基本思路，或者预期达到的目的是：\par
\begin{enumerate}
	\item 学生能够通过查阅相关基础材料，能够看懂一个密码算法、协议。
	\item 学生能够编程实现一个密码算法、协议。算法的实现应该是基本能力要求，所以在授课中特别注意了实验课程的安排，本课程实验让学生通过码云（gitee）提交，主要是想同学们能够熟悉一些常用的工程工具，另外要求基本算法使用GNU MP库来实现。
	\item 学生了解一下常用的密码分析方法。并能够编程实现以下基础的分析算法。
\end{enumerate}
\par
在整理本书的过程中，我将在学习中觉得帮助大的大量查阅到的一手资料直接放到本书里，首先这些资料在我学习相关概念时帮助很大，虽然最后我把自己觉得最好的解释，总结形成了文字，但那只是我觉得容易理解，毕竟转译以后会有信息丢失，所以我想不如同时把这些我觉得有帮助的内容以原文方式展现，也许会加快大家对内容的理解，至少这些资料的原文放在那里，省的大家再去查了，需要看原文通过链接，也可以很方便看到，同时快速看到一些参考的原始材料，能够让有兴趣的同学快速从这个点上扩展开来。\par
还有些资料没有放在正文里面，放在附录，这些资料我的目的是希望能够扩展一下阅读，扩展启发一下思路，能够对英文的一些术语有所了解，因为毕竟很多原始文献是来自于英文，在学习中积累一些专业词汇，有利于大家后面开展深入研究。\par
由于水平有限，在整理此讲义过程中，难免会出现错误，请大家不吝指出。\par
为了方便大家在讲课、学习中使用本讲义，本讲义的tex文件上传到码云上，希望对大家有所帮助。\par
本书虽然初发点是为了做本科授课时的补充材料，但是由于内容比较基础，所以希望对有兴趣了解密码基础知识的人都能够有所帮助，这就是把零散的东西汇编起来的一个考虑。\par
关于课程的其他内容编排，可以看我的课程网页\url{http://buuer_xxtxiaofeng.gitee.io/lxf/}。
\newpage